package designpattern.demo.creational.singletonpattern;

/**
 * 多线程环境下的懒汉式单例模式(DCL，双检锁实现)
 * 由于指令可能重排序，即DCL可能会返回一个并不完整的对象。
 *
 * @author ywq
 */
public class SingleLazy3 {

    private static SingleLazy3 s = null;

    private SingleLazy3() {
    }

    public static SingleLazy3 getInstance() {
        if (s==null) {
            synchronized (SingleLazy3.class) {
                if (s==null)
                    //--->A;
                    s = new SingleLazy3();
            }
        }
        return s;

    }


}
